#ifndef CLAVERSA_H_
#define CLAVERSA_H_

#include <string>
#include <fstream>
#include "../Archivos/Configuracion.h"
using namespace std;

namespace Encriptacion {

enum TipoDeClaveRSA {
	Privada, Publica
};

class ClaveRSA {

private:

	string nombreDeAdmin;
	unsigned long long potencia;
	unsigned long long modulo;
	TipoDeClaveRSA tipoDeClave;

	string obtenerPathDeLaClave();

public:

	ClaveRSA(string nombreDeAdmin, Encriptacion::TipoDeClaveRSA tipoDeClave);
	ClaveRSA(string nombreDeAdmin, Encriptacion::TipoDeClaveRSA tipoDeClave, unsigned long long potencia,
			unsigned long long modulo);

	unsigned long long getTamanioDeLosBloques();
	unsigned long long getPotencia();
	unsigned long long getModulo();
	string getNombreAdmin();
	void guardarClave();

	virtual ~ClaveRSA();
};

}

#endif /* CLAVERSA_H_ */
